
/**
 * Universidad del Valle de Guatemala
 * Algoritmos y estructura de Datos
 * @autor Evelyn Lissete Paiz   11365
 * Sección: 20
 * 08 de julio, 2012
 * Programa que permite colocar un fondo en la GUI que maneja el radio.
 */

package hoja_uno;

public interface Radio {
    
    //------------------------------------------------------------------------
    //Constantes útilies:
    //------------------------------------------------------------------------
    
    static final int AM_MIN = 530;
    static final int AM_MAX = 1610;
    static final int AM_D   = 10;
    
    static final float FM_MIN = 87.9f;
    static final float FM_MAX = 107.9f;
    static final float FM_D   = 0.2f;
    
    //------------------------------------------------------------------------
    //Métodos:
    //------------------------------------------------------------------------
    
    
    /**
     * Enciende o apaga el Radio
     */
    public void onOff();
    
    /**
     * Cambia la banda entre am/fm
     */
    public void cambiarBanda();
    
    /**
     * Aumenta la frecuencia en el delta correspondiente a la banda
     * Cuando llega al máximo debería regresar a la fercuencia mínima para la banda
     */
    public void cambiarFrecuencia();
    
    /**
     * Guarda la frecuencia seleccionada en el boton pasado como argumento
     * @param boton
     */
    public void guardarEstacion(int boton);
    
    /**
     * Cambia la frecuencia seleccionada a la frecuencia guardada
     * en el boton pasado como argumento
     * @param boton 
     */
    public void seleccionarEstacion(int boton);
    
    /**
     * Obtenemos la frecuencia actual dependiendo de la banda.
     * @return frecuencia
     */	
     public float getFrecuencia();

     /**
      *Obtenemos el estado del radio; devuelve true de estar encendido
      * y false de lo contrario.
      * @return encendido
      */	
     public boolean isOn();

     /**
      *@return Obtenemos el estado de AM; devuelve true de estar encendido
      * y false de lo contrario.
      * @return AM
      */	
     public boolean isAM();

     /**
      *Obtenemos el estado de FM; devuelve true de estar encendido
      * y false de lo contrario
      *@return FM 
      */	
     public boolean isFM();
    
}
